package com.example.yyjc.service;

import com.example.yyjc.domain.countryanalyze.*;
import com.example.yyjc.domain.industryanalyze.*;
import com.example.yyjc.domain.selectionanalyze.CountrySecondCatCase;
import com.example.yyjc.util.ResultBean;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @ClassName ImportService
 * @Description TODO
 * @Author lvyongwei
 * @Date 2021-02-24 13:21
 **/
public interface ImportService {

    /**
     * 导入全部国家及日期信息
     * @param file
     * @return
     */
    public ResultBean importCountry(MultipartFile file);

    /**
     * 导入商品订单数量占比
     * @param file
     * @return
     */
    public ResultBean importOrderCountAnalysis(MultipartFile file);

    /**
     * 导入商品价格区间信息占比
     * @param file
     * @return
     */
    public ResultBean importPriceCountAnalysis(MultipartFile file);

    /**
     * 导入各个国家每个月份一级类目占比
     * @param file
     * @return
     */
    public ResultBean importMainTitleScale(MultipartFile file);

    /**
     * 导入国家各个月份物流订单
     * @param file
     * @return
     */
    public ResultBean importLogisticsOrder(MultipartFile file);

    /**
     * 导入国家某个月份top100电铺
     * @param shopTopTens
     * @return
     */
    public int importShopTopTen(List<ShopTopTen> shopTopTens);

    /**
     * 导入国家某个月份top10商品
     * @param goodsTopTens
     * @return
     */
    public int importGoodsTopTen(List<GoodsTopTen> goodsTopTens);

    /**
     * 导入国家每个月份top1店铺名称
     * @param file
     * @return
     */
    public ResultBean importCountryTopOneShopName(MultipartFile file);

    /**
     * 导入国家的top1店铺所有商品信息
     * @param file
     * @return
     */
    public ResultBean importCountryToponeShopMsg(MultipartFile file);

    /**
     * 导入所有一级类目的每月的销售额
     * @param firstCatSales
     * @return
     */
    public int importFirstCatSale(@Param("list") List<FirstCatSale> firstCatSales);

    /**
     * 导入所有二级类目的每月销售额
     * @param secondCatSales
     * @return
     */
    public int importSecondCatSale(@Param("list") List<SecondCatSale> secondCatSales);

    /**
     * 导入二级类目各个月份各个国家销售额
     * @param secondCatCountrySaleCounts
     * @return
     */
    public int importSecondCatCountrySaleCount(@Param("list")List<SecondCatCountrySaleCount> secondCatCountrySaleCounts);

    /**
     * 导入二级类目每个月份国家物流订单量
     * @param deliveryCountries
     * @return
     */
    public int importDeliveryCountry(@Param("list")List<DeliveryCountry> deliveryCountries);

    /**
     * 导入二级类目每个月份价格区间商品/订单数量
     * @param file
     * @return
     */
    public ResultBean importSecondCatPriceScale(MultipartFile file);

    /**
     * 导入二级类目每个月份订单区间商品/订单数量
     * @param file
     * @return
     */
    public ResultBean importSecondCatOrderScale(MultipartFile file);

    /**
     * 导入二级类目每个月top10店铺信息
     * @param secondCatShopTopTens
     * @return
     */
    public int importSecondCatShopTopTen(@Param("list") List<SecondCatShopTopTen> secondCatShopTopTens);

    /**
     * 导入二级类目每个月top100商品信息
     * @param secondCatGoodsTopTens
     * @return
     */
    public int importSecondCatGoodsTopTen(@Param("list") List<SecondCatGoodsTopTen> secondCatGoodsTopTens);

    /**
     * 导入二级类目每个月top10国家top3物流信息
     * @param secondCatTopLogistics
     * @return
     */
    public int importSecondCatTopLogistics(@Param("list") List<SecondCatTopLogistics> secondCatTopLogistics);

    /**
     * 导入Aliexpress前10国家信息
     * @param aliexpresses
     * @return
     */
    public int importAliexpress(@Param("list") List<Aliexpress> aliexpresses);

    /**
     * 导入Aliexpress的前10二级类目信息
     * @param aliexpressSecondCatTopTens
     * @return
     */
    public int importAliexpressSecondCatTopTen(@Param("list") List<AliexpressSecondCatTopTen> aliexpressSecondCatTopTens);

    /**
     * 导入国家每个月份二级类目情况
     * @param countrySecondCatCases
     * @return
     */
    public int importCountrySecondCatCase(@Param("list")List<CountrySecondCatCase> countrySecondCatCases);
}
